borderimage: No need to resolve
authorBenjamin Otte <otte@redhat.com>
Tue, 7 Jun 2011 14:48:47 +0000 (16:48 +0200)
committerBenjamin Otte <otte@redhat.com>
Thu, 9 Jun 2011 03:51:54 +0000 (05:51 +0200)
border-image is a shorthand, so it's unpacked unresolved and repacked
resolved.

gtk/gtkborderimage.c
gtk/gtkborderimageprivate.h
gtk/gtkstyleproperty.c

index f38b4f9b7a01bb38cad072aeac47f05186a80933..cf9da9cf0a804b4b32a63b9fa82344e81a9363b0 100644 (file)
@@ -55,7 +55,6 @@ struct _GtkBorderImage {
   GtkCssBorderImageRepeat repeat;
 
   gint ref_count;
-  gboolean resolved;
 };
 
 GtkBorderImage *
@@ -77,8 +76,6 @@ _gtk_border_image_new (cairo_pattern_t      *pattern,
   if (repeat != NULL)
     image->repeat = *repeat;
 
-  image->resolved = TRUE;
-
   return image;
 }
 
@@ -101,38 +98,9 @@ _gtk_border_image_new_for_gradient (GtkGradient          *gradient,
   if (repeat != NULL)
     image->repeat = *repeat;
 
-  image->resolved = FALSE;
-
   return image;  
 }
 
-gboolean
-_gtk_border_image_get_resolved (GtkBorderImage *image)
-{
-  return image->resolved;
-}
-
-GtkBorderImage *
-_gtk_border_image_resolve (GtkBorderImage     *image,
-                           GtkStyleProperties *props)
-{
-  GtkBorderImage *resolved_image;
-  cairo_pattern_t *pattern;
-
-  if (image->resolved)
-    return _gtk_border_image_ref (image);
-
-  image->resolved =
-    gtk_gradient_resolve (image->source_gradient, props, &pattern);
-
-  if (!image->resolved)
-    return NULL;
-
-  resolved_image = _gtk_border_image_new (pattern, &image->slice, &image->repeat);
-
-  return resolved_image;
-}
-
 GtkBorderImage *
 _gtk_border_image_ref (GtkBorderImage *image)
 {
index 5068c511a165e332445560b1bd1155c6d7b2a8ce..ca2ef0164951af705c104931ae61724d253f7977 100644 (file)
@@ -45,10 +45,6 @@ GtkBorderImage *  _gtk_border_image_new_for_gradient (GtkGradient          *grad
                                                       GtkBorder            *slice,
                                                       GtkCssBorderImageRepeat *repeat);
 
-GtkBorderImage *  _gtk_border_image_resolve          (GtkBorderImage       *image,
-                                                      GtkStyleProperties   *props);
-gboolean          _gtk_border_image_get_resolved     (GtkBorderImage       *image);
-
 GtkBorderImage *  _gtk_border_image_ref              (GtkBorderImage       *image);
 void              _gtk_border_image_unref            (GtkBorderImage       *image);
 
index 5ad1a014505a4245b32cf0a2ac6628ebd499d82c..5e105a75a02433d643fc9cc06a025c4a7cd8150f 100644 (file)
@@ -1915,29 +1915,6 @@ resolve_shadow (GtkStyleProperties *props,
   return TRUE;
 }
 
-static gboolean
-resolve_border_image (GtkStyleProperties *props,
-                      GValue *value)
-{
-  GtkBorderImage *resolved, *base;
-
-  base = g_value_get_boxed (value);
-
-  if (base == NULL)
-    return FALSE;
-
-  if (_gtk_border_image_get_resolved (base))
-    return TRUE;
-
-  resolved = _gtk_border_image_resolve (base, props);
-  if (resolved == NULL)
-    return FALSE;
-
-  g_value_take_boxed (value, resolved);
-
-  return TRUE;
-}
-
 void
 _gtk_style_property_resolve (const GtkStyleProperty *property,
                              GtkStyleProperties     *props,
@@ -1970,11 +1947,6 @@ _gtk_style_property_resolve (const GtkStyleProperty *property,
       if (!resolve_shadow (props, val))
         _gtk_style_property_resolve (property, props, val);
     }
-  else if (G_VALUE_TYPE (val) == GTK_TYPE_BORDER_IMAGE)
-    {
-      if (!resolve_border_image (props, val))
-        _gtk_style_property_resolve (property, props, val);
-    }
 }
 
 gboolean